package com.bsb.acc.errorcode;

import com.smy.framework.base.ErrorCode;

public enum BusinessErrorCode implements ErrorCode {

    /**
     * 前3位固定为系统码：ACC 第4,5位为子系统码：IF 第6位表示日志级别：W/E 第7位系统错误类型：B业务类型/S系统类型
     * 最后三位：A公共错误码/B批量错误码/数字则为普通错误码+序号
     */

    //用户注册异常码
    SUCCESS("ACCIF00000"), // 处理成功
    ALREADY_REGISTER("ACCIF0001"), // 手机号已经注册过了
    QD_NULL("ACCIF00002"), // 传入的渠道ID为空
    NO_QD("ACCIF00003"), // 系统不存在当前渠道
    SYS_ERR("ACCER00004"),//系统异常,数据库插入失败等
    DYNAMIC_INVALID("ACCIF00005"),//验证码失效
    SEND_DYNAMIC_FAIL("ACCER00006"), // 发送短信验证码失败
    DYNAMIC_FALSE("ACCIF00007"),//验证码错误
    FAILURE("ACCER11111"),//处理失败

    ERROR_INSERT_FAIL("ACCIFESA03"), // {0}新增失败
    /***
     * 公用错误码
     */

    UNKHOWN_ERROR("ACCIF99999"), // 未知错误
    ERROR_NULL_RECORD("ACCIFWB888"), // 查无此记录
    ERROR_CALL_OUTER_INTERFACE("ACCIF00001"), // 调用【{0}】接口异常

    /***
     * WB--业务WARN--公用错误码--ACCIFWBA01-ACCIFWBA99
     */

    NULL_PROPERTIES("ACCIFWBA01"), // 【{0}】为空
    ERROR_FORMAT("ACCIFWBA02"), // 参数【{0}】格式错误
    ERROR_PARAM("ACCIFWBA03"), // 参数【{0}】错误
    ERROR_LENGTH("ACCIFWBA04"), // 参数【{0}】长度错误
    ERROR_NOT_MATCH("ACCIFWBA05"), // {0}不匹配
    ERROR_NOT_SEARCH_RECORD("ACCIFWBA06"), // 未查询到{0}
    ERROR_REPORT_TRANS("ACCIFWBA07"), // {0}数据转换异常
    ERROR_REPORT_TYPE("ACCIFWBA08"), // 返回{0}类型错误
    ERROR_GET_NOT_DATA("ACCIFWBA09"), // {0}未返回数据
    ERROR_QUERY_NOT_FINISHED("ACCIFWBA10"), // 查询{0}未完成
    ERROR_DATA_TRANS("ACCIFWBA11"), // 数据转换异常
    ERROR_INTERFACE_CALL_FAILED("ACCIFWBA12"), // {0}接口调用失败{1}
    ERROR_HAS_BEEN_CALLED("ACCIFWBA13"), // {0}已被加载
    ERROR_IMAGE_FILE_FAIL("ACCIMAGEFAIL01"),//W文件上传失败

    /***
     * EB--业务ERROR--公用错误码--ACCIFEBA01-ACCIFEBA99
     */

    /***
     * ES--系统ERROR--公用错误码--ACCIFESA01-ACCIFESA99
     */
    ERROR_UPDATE_FAIL("ACCIFESA01"), // {0}更新失败
    ERROR_QUERY_FAIL("ACCIFESA02"), // {0}查询失败
    ERROR_DATA_ACCESS("ACCIFESA04"), // 数据库访问异常
    ERROR_LINK_FAIL("ACCIFESA05"), // 连接{0}异常
    ERROR_CONNECT_TIMEOUT("ACCIFESA06"), // 链接{0}超时
    ERROR_JSON_PARSE_ERROR("ACCIFESA07"), // JSON解析异常
    ERROR_ENCODE_ERROR("ACCIFESA08"), // {0}URL编码有误
    ERROR_FETCH_FILE_FAIL("ACCIFESA09"), // 无法获取{0}文件
    ERROR_REPORT_FORMAT_ERROR("ACCIFESA10"), // {0}报文格式有误
    ERROR_NO_SERVICE("ACCIFESA11"), // {0}资信服务停用
    ERROR_CHECK_SIGNATURE("ACCIFESA12"), // {0}验签有误

    ERROR_EDS_QUERY_ERROR("ACCEDSES001"), // 查询EDS爬虫异常
    ERROR_EDS_UNKNOWN_ERROR("ACCEDSES002"), // 获取爬虫数据并插入出现未知错误

    ERROR_LF_QUERY_ERROR("ACCLFES001"), // LINKFACE查询异常
    ERROR_LF_UNKNOWN_ERROR("ACCLFES002"), // LINKFACE出现未知错误

    /**
     * WB级别错误码
     */
    WARN_IDFACE_NOT_AVAILABLE("ACCIFWB999"), // IDFACE接口未开通
    WARN_IDFACE_SERVICE_FAIL("ACCIFWB001"), // IDFACE服务异常
    WARN_IDFACE_NO_IDNO("ACCIFWB002"), // 没有接收到身份证号或为空
    WARN_IDFACE_IDNO_LENGTH_ERROR("ACCIFWB003"), // 身份证号输入不是18位
    WARN_IDFACE_NO_NAME("ACCIFWB004"), // 没有接收到姓名或为空104
    WARN_IDFACE_NO_PIC("ACCIFWB005"), // 没有接收到照片或为空
    WARN_IDFACE_PIC_BAD_QUALITY("ACCIFWB006"), // 相片质量不合格
    WARN_IDFACE_IDNO_NO_FOUND("ACCIFWB007"), // 身份证库中没有此号码
    WARN_IDFACE_PARA_MISS("ACCIFWB008"), // 缺少参数
    WARN_IDFACE_PIC_TOO_BIG("ACCIFWB009"), // 相片过大(100KB-JPG)
    WARN_IDFACE_PIC_NO_FOUND("ACCIFWB010"), // 身份证库中没有此号码的照片
    WARN_IDFACE_PIC_CODE_ERROR("ACCIFWB011"), // 请检查图片编码
    WARN_IDFACE_INSERT_ERROR("ACCIFWB012"), // 数据库插入错误
    WARN_IDFACE_RESULT_ERROR("ACCIFWB013"), // IDFACE返回结果为空
    WARN_IDFACE_OTHER_ERROR("ACCIFWB014"), // IDFACE返回其他错误
    WARN_IDFACE_DELETE_ERROR("ACCIFWB015"), // 数据库删除异常。{0}

    WARN_PYN_NOT_SUPPORT("ACCPYWB001"), // 鹏元不提供此类报告
    WARN_PYN_CONDITION_LESS("ACCPYWB002"), // 查询条件不足
    WARN_PYN_CONDITION_NOT_FULL_MATCH("ACCPYWB003"), // 查询条件不能全匹配
    WARN_PYN_RETURN_TOO_MUCH("ACCPYWB004"), // 要求返回唯一记录但返回多条记录
    WARN_PYN_NOT_ENOUGH_AUTH("ACCPYWB005"), // 没有子报告查询权限
    WARN_PYN_TIME_OUT("ACCPYWB006"), // 查询超时
    WARN_PYN_SYS_ERROR("ACCPYWB007"), // 系统错误
    WARN_PYN_OTHER_ERROR("ACCPYWB008"), // 其他错误
    WARN_PYN_RETURN_ERROR("ACCPYWB009"), // 鹏元返回结果错误
    WARN_PYN_HAS_SYS_ERROR("ACCPYWB010"), // 鹏元返回有异常
    WARN_PYN_IS_FROZEN("ACCPYWB011"), // 账户被冻结
    WARN_PYN_REPORT_NOT_FOUND("ACCPYWB012"), // 未查到报告
    WARN_PYN_RETURN_NULL("ACCPYWB013"), // 鹏元返回NULL
    WARN_PYN_STATUS_ERROR("ACCPYWB014"), // 鹏元返回状态异常
    WARN_PYN_NO_REQUEST("ACCPYWB015"), // ID不存在，请先提交请求
    WARN_PYN_UNDEFINE_ERROR("ACCPYWB999"), // 未知错误

    WARN_QHZX_QUERY_ERROR("ACCQHWB0001"), // 查询前海征信异常
    WARN_QHZX_BLACKLIST_QUERY_ERROR("ACCQHWB0002"), // 查询前海黑名单异常
    WARN_QHZX_CREDOO_QUERY_ERROR("ACCQHWB0003"), // 查询前海好信度异常
    WARN_QHZX_TIME_OUT("ACCQHWB0004"), // 前海征信查询超时
    WARN_QHZX_BLACKLIST_SEND_ERROR("ACCQHWB0005"), // 前海黑名单保存异常

    WARN_EDS_AUTHOR_ERROR("ACCEDWB0006"), // EDS手机号认证异常

    WARN_LINKFACE_VERIFICATION_ERROR("ACCLFWB0001"), // LINKFACE 照片比对异常
    WARN_LINKFACE_DETECTION_ERROR("ACCLFWB0002"), // LINKFACE 照片检测异常

    WARN_LINKFACE_RETURN_ERROR_DATA("ACCLFGN0001"), // 公安检测返回图片过大，获取文件出错等异常，具体错误请定义得枚举
    WARN_LINKFACE_AUTHORITY_ERROR("ACCLFGN0002"), // 权限密码错误 AUTHORITY

    WARN_BR_GETDATA_ERROR("ACCBRWB0001"), // 获取百融数据异常

    ERROR_REMOTE_INTERFACE_INVOKE("ACCPBC0001"), // 有氧接口异常

    ERROR_REMOTE_VISIT_INVOKE("EXZCAF0001"), // 宜信致诚阿福接口异常
    ERROR_REMOTE_RENHANG_INVOKE("ACCPBC0002"), // 银联人行接口异常

    ERROR_REAL_TIME_TIMEOUT("RMSFTEBA09"), // 调用实时风控出现超时
    ERROR_REAL_TIME_IO("RMSFTEBA10"), // 调用实时风控出现IO异常
    ERROR_REAL_TIME_INNER("RMSFTEBA11"),// 调用实时风控出现内部错误

    //优惠券信息
    WARN_COUPON_GETDATA("ACCGETCOUPON01"),// 重复提交优惠券信息异常
    WARN_COUPON_ACTIVE_EXPIRE("ACCACTIVEEXPIRE01"),// 活动过期异常
    WARN_COUPON_EXPIRE("ACCCOUPONEXPIRE01"),// 优惠券过期异常
    WARN_PACKAGE_EXPIRE("ACCPACKAGEEXPIRE01"),//套餐包已过期异常
    WARN_PRIZE_FINISH("ACCPRIZEFINISH01"),//奖品已领完

    WARN_AD_SLOT_STATUS_EX("ACCADSLOTSTATUSEX"),//广告位创建异常不能同时发两个状态

    WARN_PHONE_NOT_INVITE("ACCPHONENOTINVITE01"),//此手机无邀请码

    EXPIRED_EXCEPTION("ACCEXPIREDEXCEPTION"),

    WARN_COUPON_IS_USE("ACCCOUPONISUSE004"),

    WARN_COUPON_IS_HANDLE("ACCCOUPONSISHANDLE0004"),

    WARN_NOT_DELETE_EXCEPTION("ACCNOTDELETEEXCEPTION");

    // 成功

    /***
     * ES级别错误码
     */

    /***
     * EB级别错误码
     */

    /***
     * WS--系统WARN--公用错误码--ACCIFWSB01-ACCIFWSB99
     */

    /***
     * ES--系统ERROR--公用错误码--ACCIFESB01-ACCIFESB99
     */

    /***
     * WB--业务WARN--公用错误码--ACCIFWBB01-ACCIFWBB99
     */

    /***
     * EB--业务ERROR--公用错误码--ACCIFEBB01-ACCIFEBB99
     */


    private String code;

    private BusinessErrorCode(String code) {
        this.code = code;
    }

    @Override
    public String getCode() {
        return this.code;
    }
}
